package com.culturalCenter.dataCenter.customEntity.responseParam.activity;

import com.culturalCenter.dataCenter.customEntity.CustomServicedNumber;
import com.culturalCenter.dataCenter.customEntity.CustomServicedNumberList;
import com.culturalCenter.dataCenter.customEntity.activity.CustomActivityToday;
import com.culturalCenter.dataCenter.customEntity.training.CustomParticipationRateRank;
import com.culturalCenter.dataCenter.entity.activity.*;
import com.culturalCenter.dataCenter.vo.ActivityEventVo;
import com.culturalCenter.dataCenter.vo.DepartmentDataVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 活动首页返回数据
 *
 * @author : weicai
 * @date : 15:12 2020/10/29
 */
@Data
@ApiModel("活动首页返回数据")
public class ActivityMenuResponse {

    /**
     * 本年活动数
     */
    @ApiModelProperty(value = "本年活动数")
    private Integer activityNum;
    /**
     * 本年活动场次数
     */
    @ApiModelProperty(value = "本年活动场次数")
    private Integer activityYearEventNum;
    /**
     * 本月活动场次数
     */
    @ApiModelProperty(value = "本月活动场次数")
    private Integer activityMonthEventNum;
    /**
     * 当天活动场次数
     */
    @ApiModelProperty(value = "当天活动场次数")
    private Integer activityDayEventNum;
    /**
     * 本月活动数
     */
    @ApiModelProperty(value = "本月活动数")
    private Integer monthNum;
    /**
     * 今日活动数
     */
    @ApiModelProperty(value = "今日活动数")
    private Integer todayNum;
    /**
     * 本月每天活动数
     */
    @ApiModelProperty(value = "本月每天活动数")
    private List<ActivityMonthCount> dayTotalList;
    /**
     * 本月每天活动场次数
     */
    @ApiModelProperty(value = "本月每天活动场次数")
    private List<ActivityEventVo> activityEventVos;
    /**
     * 本月各部门举办培训数
     */
    @ApiModelProperty(value = "本月各部门举办培训数")
    private List<ActivityDepartmentStatistics> activityNumList;
//    /**
//     * 本月各部门活动报名人数
//     */
//    @ApiModelProperty(value = "本月各部门活动报名人数")
//    private List<ActivityDepartmentStatistics> activitiesNumList;
    /**
     * 各部门名额数/报名数/录取数/签到数
     */
    @ApiModelProperty(value = "各部门名额数/报名数/录取数/签到数")
    private List<DepartmentDataVo> departmentDataVos;
    /**
     * 今天活动
     */
    @ApiModelProperty(value = "今天活动")
    private List<CustomActivityToday> activityTodayList;
    /**
     * 今日推荐
     */
    @ApiModelProperty(value = "今日推荐")
    private List<ActivityPush> recommendTodayList;
    /**
     * 本月热门活动排行榜
     */
    @ApiModelProperty(value = "本月热门活动排行榜")
    private List<ActivityHost> popularActivityList;
    /**
     * 本月各分类活动报名人数
     */
    @ApiModelProperty(value = "本月各分类活动报名人数")
    private List<ActivityTypeCount> thisMonthList;
    /**
     * 上月各分类活动报名人数
     */
    @ApiModelProperty(value = "上月各分类活动报名人数")
    private List<ActivityTypeCount> lastMonthList;
    /**
     * 活动报名时段
     */
    @ApiModelProperty(value = "活动报名时段")
    private List<ActivityTimeInterval> intervalList;
    /**
     * 活动平台入口
     */
    //private List<ActivityClientCount> platformsRatioList;
    /**
     * 年度参与率排行
     */
    @ApiModelProperty(value = "年度参与率排行")
    private List<CustomParticipationRateRank> participationRateRankList;
    /**
     * 活动分类年度参与率排行
     */
    @ApiModelProperty(value = "活动分类年度参与率排行")
    private List<CustomParticipationRateRank> classifyParticipationRateRankList;
    /**
     * 可选时间段_最早日期
     */
    @ApiModelProperty(value = "可选时间段_最早日期")
    private String earliestDate;
    /**
     * 可选时间段_最晚日期
     */
    @ApiModelProperty(value = "可选时间段_最晚日期")
    private String latestDate;
    /**
     * 服务人群
     */
    @ApiModelProperty(value = "服务人群")
    private Map<String, Integer> crowdMap;
    /**
     * 艺术分类
     */
    @ApiModelProperty(value = "艺术分类")
    private Map<String, Integer> artClassificationMap;
    /**
     * 活动类型统计
     */
    @ApiModelProperty(value = "活动类型统计")
    private Map<String, Integer> activityTypeMap;
    /**
     * 服务人次列表
     */
    @ApiModelProperty(value = "服务人次列表")
    private List<CustomServicedNumberList> serviceNumberList;
    /**
     * 服务人次统计
     */
    @ApiModelProperty(value = "服务人次统计")
    private CustomServicedNumber servicedNumber;
    /**
     * 活动平均参与率
     */
    private double avgParticipationRate;

}
